8.4.2. İkili Arama Ağacında Dolaşma Algoritmaları

Ağaç üzerinde dolaşma kök dahil tüm düğümlerin ziyaret edilmesi işlemidir; düğüme ulaşıldığında uygulama gereksinime göre düğüm bilgisini yazdırma, başka bir birime aktarma, karşılaştırma vs gibi işlemler yapılabilir. Dolaşma işlemi önce-kök, ortada-kök ve sonra-kök şeklinde yapılabilir. Aşağıda önce-kök şeklinde rekürsif yapıya uygun bir dolaşma algoritmasının kaba-kodu verilmiştir.

Ağaç üzerinde dolaşma daha çok tüm düğümlerin veya büyük bir kısmının listelenmesi veya başka nedenlerle kullanılması durumunda gereksinim duyulan bir işlemdir. Tüm düğümler ziyaret edileceği için karmaşıklığı O(n) olur; yani doğrusal liste gibi...

Fonksiyon-8.3. İkili arama ağacında düğümleri dolaşma/listeleme

/* Listedeki tüm kayıtları listeleme */
void listele(AGAC2 *agacKok) {
          if(agacKok=!NULL) {
                    listele(agacKok->sol);
                    yazEkrana(agacKok);
                    listele(agacKok->sag);
             }
}